package com.bjpowernode.crm.workbench.mapper;

import com.bjpowernode.crm.workbench.domain.Clue;
import com.bjpowernode.crm.workbench.domain.Customer;

import java.util.List;
import java.util.Map;

public interface CustomerMapper {

    /**
     * 保存创建的客户
     * @param customer
     * @return
     */
    int insertCustomer(Customer customer);

    /**
     * 根据条件查询客户的列表
     * @param map
     * @return
     */
    List<Customer> selectCustomerByConditionForPage(Map<String,Object> map);

    /**
     * 根据条件查询客户的总条数
     * @param map
     * @return
     */
    int selectCountOfCustomerByCondition(Map<String,Object> map);

    /**
     * 根据id查询客户的信息
     * @param id
     * @return
     */
    Customer selectCustomerById(String id);

    /**
     * 保存修改的客户信息
     * @param customer
     * @return
     */
    int updateCustomer(Customer customer);

    /**
     * 根据ids批量删除客户
     * @param ids
     * @return
     */
    int deleteCustomerByIds(String[] ids);

    /**
     * 查询所有的客户
     * @return
     */
    List<Customer> selectAllCustomer();

    /**
     * 根据关键字查询客户表中所有含有该关键字的名称
     * @return
     */
    List<String> selectCustomerNameByName(String name);

    /**
     * 根据name精确查询客户
     * @param name
     * @return
     */
    Customer selectCustomerByName(String name);
}